package com.hanamaki.demo02;

import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriver.Navigation;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;

public class FireFoxDriverAlert01 {

    WebDriver driver;

    @BeforeClass
    public void setup() {
        System.setProperty("webdriver.gecko.driver", "C:\\Program Files\\Mozilla Firefox\\geckodriver.exe");
        driver = new FirefoxDriver();
    }

    @Test
    public void Alert() throws InterruptedException, MalformedURLException {
        driver.get("file:///D:/SoftWare/apache-tomcat-9.0.56/webapps/testhtml/exam/testSelenium.html");

        /* 如果 想要操作  页面中的 弹出对话框  要 首先进行 元素 定位  */
        List<WebElement> elements = driver.findElements(By.cssSelector("input[type='button']"));
        elements.get(0).click();

        /* 如果  要操作 弹框中 的  确定 以及 其他 操作  需要先将 鼠标 切换到 弹框中 */
        Alert alert = driver.switchTo().alert();
        String text = alert.getText();
        System.out.println(text);
        alert.accept();

    }


    @Test
    public void Confirmation() throws InterruptedException, MalformedURLException {
        driver.get("file:///D:/SoftWare/apache-tomcat-9.0.56/webapps/testhtml/exam/testSelenium.html");

        /* 如果 想要操作  页面中的 弹出对话框  要 首先进行 元素 定位  */
        List<WebElement> elements = driver.findElements(By.cssSelector("input[type='button']"));
        elements.get(1).click();

        /* 如果  要操作 弹框中 的  确定 以及 其他 操作  需要先将 鼠标 切换到 弹框中 */
        Alert alert = driver.switchTo().alert();
        String text = alert.getText();
        System.out.println(text);
//        点击同意  确定
//        alert.accept();
        alert.dismiss();

    }

    @Test
    public void Prompt() throws InterruptedException, MalformedURLException {
        driver.get("file:///D:/SoftWare/apache-tomcat-9.0.56/webapps/testhtml/exam/testSelenium.html");

        /* 如果 想要操作  页面中的 弹出对话框  要 首先进行 元素 定位  */
        List<WebElement> elements = driver.findElements(By.cssSelector("input[type='button']"));
        elements.get(2).click();

        /* 如果  要操作 弹框中 的  确定 以及 其他 操作  需要先将 鼠标 切换到 弹框中 */
        Alert alert = driver.switchTo().alert();
        String text = alert.getText();
        System.out.println(text);

        alert.sendKeys("hanamaki");

//        点击同意  确定
//        alert.accept();
//        alert.dismiss();

    }

    @AfterClass
    public void close() {
//        driver.close();
    }


}
